package com.punai.customer.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.punai.common.annotation.Excel;
import com.punai.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;
import java.util.Map;

/**
 * 标准费用项关联归口对象 cus_gx_link_gk
 *
 * @author zhx
 * @date 2023-03-28
 */
public class CusGxLinkGk extends BaseEntity
        {
private static final long serialVersionUID = 1L;

    /** $column.columnComment */
        private String id;

    /** 公司id */
        private Long companyId;

    /** 标准费用项id */
            @Excel(name = "标准费用项id")
        private String gxId;

    /** 分包模式 */
            @Excel(name = "分包模式")
        private String subpackagePattern;

    /** 类型:费用项or特征 */
            @Excel(name = "类型:费用项or特征")
        private String type;

    /** 状态(0:未启用特征,1:启用特征) */
            @Excel(name = "状态(0:未启用特征,1:启用特征)")
        private String featureState;

    /** 特征id */
            @Excel(name = "特征id")
        private String featureId;

    /** 特征值 */
            @Excel(name = "特征值")
        private String featureItem;

    /** 关联归口值 */
            @Excel(name = "关联归口值")
        private String gkItem;

    /** 序号 */
            @Excel(name = "序号")
        private Integer orderNum;

            @TableField(exist = false)
        private String chapterId;
            @TableField(exist = false)
        private String name;
            @TableField(exist = false)
        private String code;
            @TableField(exist = false)
        private String unit;

        private String specId;
            @TableField(exist = false)
        private Map<String, Map<String,String>> linkGkMap;
            @TableField(exist = false)
        private List<CusGxLinkGk> children;

            public String getChapterId() {
                return chapterId;
            }

            public void setChapterId(String chapterId) {
                this.chapterId = chapterId;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public String getCode() {
                return code;
            }

            public void setCode(String code) {
                this.code = code;
            }

            public String getUnit() {
                return unit;
            }

            public void setUnit(String unit) {
                this.unit = unit;
            }

            public String getSpecId() {
                return specId;
            }

            public void setSpecId(String specId) {
                this.specId = specId;
            }

            public List<CusGxLinkGk> getChildren() {
                return children;
            }

            public void setChildren(List<CusGxLinkGk> children) {
                this.children = children;
            }

            public void setId(String id)
            {
            this.id = id;
            }

    public String getId()
            {
            return id;
            }
    public void setCompanyId(Long companyId)
            {
            this.companyId = companyId;
            }

    public Long getCompanyId()
            {
            return companyId;
            }
    public void setGxId(String gxId)
            {
            this.gxId = gxId;
            }

    public String getGxId()
            {
            return gxId;
            }
    public void setSubpackagePattern(String subpackagePattern)
            {
            this.subpackagePattern = subpackagePattern;
            }

    public String getSubpackagePattern()
            {
            return subpackagePattern;
            }
    public void setType(String type)
            {
            this.type = type;
            }

    public String getType()
            {
            return type;
            }
    public void setFeatureState(String featureState)
            {
            this.featureState = featureState;
            }

    public String getFeatureState()
            {
            return featureState;
            }
            public void setFeatureId(String featureId)
            {
            this.featureId = featureId;
            }

    public String getFeatureId()
            {
            return featureId;
            }
    public void setFeatureItem(String featureItem)
            {
            this.featureItem = featureItem;
            }

    public String getFeatureItem()
            {
            return featureItem;
            }
    public void setGkItem(String gkItem)
            {
            this.gkItem = gkItem;
            }

    public String getGkItem()
            {
            return gkItem;
            }
    public void setOrderNum(Integer orderNum)
            {
            this.orderNum = orderNum;
            }

    public Integer getOrderNum()
            {
            return orderNum;
            }

            public Map<String, Map<String, String>> getLinkGkMap() {
                return linkGkMap;
            }

            public void setLinkGkMap(Map<String, Map<String, String>> linkGkMap) {
                this.linkGkMap = linkGkMap;
            }

            @Override
public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("companyId", getCompanyId())
            .append("gxId", getGxId())
            .append("subpackagePattern", getSubpackagePattern())
            .append("type", getType())
            .append("featureState", getFeatureState())
            .append("featureId", getFeatureId())
            .append("featureItem", getFeatureItem())
            .append("gkItem", getGkItem())
            .append("orderNum", getOrderNum())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
        .toString();
        }
        }
